文章目录
  1. 1. 编译所有公开的 api 的 jar 包
  2. 2. 导入到 eclipse
    1. 2.1. 首先是导入到 eclipse 的环境中:
    2. 2.2. 然后是在你 android 工程中添加上一步创建的 user library:
  3. 3. 最后一步

android 有很多类的 public 的接口被 google 给屏蔽了,一般做一些高级的操作或者是优化的话,需要访问这些接口或是成员变量。这就需要自己做的小手脚。

编译所有公开的 api 的 jar 包

下载 android 源码。然后你可以编译你想要的所有公开 api 的模块。例如说 framework/base/core/java/android/app 下面的一些类的 api(ActivityManager 等等)。这个时候你需要去 frame/base/ 敲 mm 编译 framework.jar 。但是你要注意,你需要的不是最后在 out/target/product 下最终生成的 framework.jar ,那个是经过 google 屏蔽后的 jar。你需要的是编译时的中间文件。注意看编译时的输出,一般是在 out/target/common/obj/JAVA_LIBRARIES/framework_intermediates 下的 classes.jar 的。你可以对比下这 2 个 jar 的大小就知道了。如果你需要别的模块的话,方法是类似的。

导入到 eclipse

得到有所有公开 api 的 jar 包后,你需要把这个 jar 导入到你的 eclipse 中,然后你的 android 程序才能使用所有公开的 api。

首先是导入到 eclipse 的环境中:

  • eclipse -> project -> properties -> Java Build Path -> Libraries -> Add Library -> User Library:点击 new

  • 然后编辑刚刚新创建的 library:点击 Add Jars -> 把之前你编译出来的 jar 添加进来

  • 另外你还可以在 jar 中挂载源代码,这样调试的时候会更加的方便。但是一般来说你也可以不用挂载(在 source attachment 那)

然后是在你 android 工程中添加上一步创建的 user library:

  • 右键工程 -> properties -> Java Build Path -> Libraries -> Add Library -> User Library:然后点 next,选择上一步创建的 user library

  • 在 Java Build Path -> Order and Export:把自己的添加的 user library 提升到 google 官方的 android 库的前面(点击 Up 按钮)

最后一步

然后你就可以在你的 android 程序里使用所有的 public 接口了,然后编译吧。 o(∩∩)o

文章目录
  1. 1. 编译所有公开的 api 的 jar 包
  2. 2. 导入到 eclipse
    1. 2.1. 首先是导入到 eclipse 的环境中:
    2. 2.2. 然后是在你 android 工程中添加上一步创建的 user library:
  3. 3. 最后一步